using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Runtime.Serialization;

namespace KPIS.GERP.Models.HRM
{
    [DataContract, Table("hrm_ps_time_attendants")]
    public class PsTimeAttendants
    {
        [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [DataMember, Column("working_seq"), Display(Name = "WorkingId", ResourceType = typeof (Resources.PsTimeAttendantsResource))]
        public int WorkingId { get; set; }

        [DataMember, Column("working_date"), Display(Name = "WorkingDate", ResourceType = typeof (Resources.PsTimeAttendantsResource))]
        public DateTime? WorkingDate { get; set; }

        [DataMember, Column("emp_seq"), ForeignKey("Employee"), Display(Name = "EmpId", ResourceType = typeof (Resources.PsTimeAttendantsResource))]
        public int? EmpId { get; set; }

        [DataMember, Column("working_status")]
        public string WorkingStatus { get; set; }

        [DataMember, Column("working_start"), Display(Name = "WorkingStart", ResourceType = typeof (Resources.PsTimeAttendantsResource))]
        public TimeSpan? WorkingStart { get; set; }

        [DataMember, Column("working_end"), Display(Name = "WorkingEnd", ResourceType = typeof (Resources.PsTimeAttendantsResource))]
        public TimeSpan? WorkingEnd { get; set; }
        
        [DataMember, Column("remarks"), Display(Name = "Remarks", ResourceType = typeof (Resources.PsTimeAttendantsResource))]
        public string Remarks { get; set; }

        [DataMember, Column("record_status"), Display(Name = "RecordStatus", ResourceType = typeof (Resources.PsTimeAttMonthlyResource))]
        public string RecordStatus { get; set; }

        [DataMember, Column("created_by"), Display(Name = "CreatedBy", ResourceType = typeof (Resources.PsTimeAttMonthlyResource))]
        public int? CreatedBy { get; set; }

        [DataMember, Column("created_when"), Display(Name = "CreatedWhen", ResourceType = typeof (Resources.PsTimeAttMonthlyResource))]
        public DateTime? CreatedWhen { get; set; }

        [DataMember, Column("updated_by"), Display(Name = "UpdatedBy", ResourceType = typeof (Resources.PsTimeAttMonthlyResource))]
        public int? UpdatedBy { get; set; }

        [DataMember, Column("updated_when"), Display(Name = "UpdatedWhen", ResourceType = typeof (Resources.PsTimeAttMonthlyResource))]
        public DateTime? UpdatedWhen { get; set; }

        public virtual Employee Employee { get; set; }

    }
}